//package com.jzqf.android.alive
//
//import android.Manifest
//import android.content.Context
//import android.content.Intent
//import android.content.pm.PackageManager
//import android.net.Uri
//import android.os.Build
//import android.os.Bundle
//import android.os.PowerManager
//import android.provider.Settings
//import android.util.Log
//import android.widget.Button
//import androidx.appcompat.app.AppCompatActivity
//import androidx.core.app.ActivityCompat
//import androidx.core.content.ContextCompat
//
//class AliveActivity : AppCompatActivity() {
//    private val TAG = "AliveMainActivity"
//    private val LOCATION_PERMISSION_REQUEST_CODE = 1001
//    private val BACKGROUND_LOCATION_PERMISSION_REQUEST_CODE = 1002
//    private val PAYMENT_REQUEST_SFPAYSDK_CODE = 1003
//
//    private val permissionBtn: Button by lazy {
//        findViewById(R.id.permission_btn)
//    }
//    private val requestLocationPermissionBtn: Button by lazy {
//        findViewById(R.id.requirePermission_btn)
//    }
//
//
//    override fun onCreate(savedInstanceState: Bundle?) {
//        super.onCreate(savedInstanceState)
//        setContentView(R.layout.activity_alive)
//        // 设置按钮监听器一次即可
//        setupButtonListeners()
//
//        // 启动前台服务
//        val intent = Intent(this, AliveService::class.java)
//        try {
//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//                startForegroundService(intent) // Android 8.0+ 必须用此方法
//            } else {
//                startService(intent)
//            }
//        } catch (e: Exception) {
//            Log.e(TAG, "启动 AliveService 失败", e)
//        }
//
//        Log.i(TAG, "onCreate")
//    }
//
//    private fun setupButtonListeners() {
//        permissionBtn.setOnClickListener {
//            checkLocationPermissionStatus()
//        }
//
//        requestLocationPermissionBtn.setOnClickListener {
//            val isIgnoringBattery = isIgnoringBatteryOptimizations()
//            Log.i(TAG, "isIgnoringBattery=$isIgnoringBattery")
//            if (!isIgnoringBattery) {
//                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//                    try {
//                        val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
//                        intent.data = Uri.parse("package:$packageName")
//                        startActivity(intent)
//                    } catch (e: Exception) {
//                        e.printStackTrace()
//                        Log.e(TAG, "无法打开电池优化设置", e)
//                        // 备选方案：打开应用详情设置
//                        val intent = Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS)
//                        startActivity(intent)
//                    }
//                }
//            }
//        }
//    }
//
//    override fun onStart() {
//        super.onStart()
//        Log.i(TAG, "onStart")
//    }
//
//    override fun onResume() {
//        super.onResume()
//        Log.i(TAG, "onResume")
//    }
//
//    private fun isIgnoringBatteryOptimizations(): Boolean {
//        val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
//        return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//            powerManager.isIgnoringBatteryOptimizations(packageName)
//        } else {
//            true // 低于 Android 6.0 默认忽略电池优化
//        }
//    }
//
//    // 需要先获得前台位置权限，然后再请求后台位置权限
//    private fun requestBackgroundLocationPermission() {
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
//            ActivityCompat.requestPermissions(
//                this,
//                arrayOf(Manifest.permission.ACCESS_BACKGROUND_LOCATION),
//                BACKGROUND_LOCATION_PERMISSION_REQUEST_CODE
//            )
//        }
//    }
//
//    private fun checkLocationPermissionStatus() {
//        if (ContextCompat.checkSelfPermission(
//                baseContext, Manifest.permission.ACCESS_BACKGROUND_LOCATION
//            ) == PackageManager.PERMISSION_GRANTED
//        ) {
//            Log.i(TAG, "位置权限状态：始终允许")
//        } else {
//            Log.i(TAG, "ACCESS_BACKGROUND_LOCATION 位置权限状态：未授权")
//        }
//        if (ContextCompat.checkSelfPermission(
//                baseContext, Manifest.permission.ACCESS_FINE_LOCATION
//            ) == PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(
//                baseContext, Manifest.permission.ACCESS_COARSE_LOCATION
//            ) == PackageManager.PERMISSION_GRANTED
//        ) {
//            Log.i(TAG, "位置权限状态：仅使用期间允许")
//            // 可以在这里提示用户升级到"始终允许"
//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
//                requestBackgroundLocationPermission()
//            }
//        } else {
//            Log.i(TAG, "位置权限状态：未授权")
//            requestLocationPermission()
//        }
//    }
//
//    private fun requestLocationPermission() {
//        ActivityCompat.requestPermissions(
//            this,
//            arrayOf(Manifest.permission.ACCESS_FINE_LOCATION),
//            LOCATION_PERMISSION_REQUEST_CODE
//        )
//    }
//
//    override fun onRequestPermissionsResult(
//        requestCode: Int, permissions: Array<out String>, grantResults: IntArray
//    ) {
//        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
//
//        if (requestCode == LOCATION_PERMISSION_REQUEST_CODE) {
//            if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//                Log.i(TAG, "用户授予了后台位置权限")
//            } else {
//                Log.i(TAG, "用户拒绝了后台位置权限")
//            }
//        }
//        if (requestCode == BACKGROUND_LOCATION_PERMISSION_REQUEST_CODE) {
//            if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//                Log.i(TAG, "用户授予了后台位置权限")
//            } else {
//                Log.i(TAG, "用户拒绝了后台位置权限")
//            }
//        }
//    }
//}